home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Almathera Ten Pack 3: CDPD 3
/
Almathera Ten on Ten - Disc 3: CDPD3.iso
/
fish
/
676-700
/
681
/
term
/
source.lha
/
DPrintf.asm
< prev
next >
Wrap
Assembly Source File
|
1992-05-09
|
2KB
|
86 lines
* $Revision Header * Header built automatically - do not edit! *************
*
* (C) Copyright 1991 by Olaf 'Olsen' Barthel & MXM
*
* Name .....: DPrintf.asm
* Created ..: Thursday 19-Sep-91 17:49
* Revision .: 1
*
* Date Author Comment
* ========= ======== ====================
* 19-Sep-91 Olsen Created this file!
*
* $Revision Header *********************************************************
include "exec/types.i"
include "exec/ports.i"
include "exec/memory.i"
CALL macro
xref _LVO\1
jsr _LVO\1(a6)
endm
Args equ 5*4+4
VarArgs equ Args+4
csect text,0,0,1,2
*--------------------------------------------------------------------------
*
* This file replaces a bunch of routines originally residing
* in termInit.c, note that the following routine interfaces
* to a tool called `FarPortII' which is not included with the
* `term' distribution.
*
*--------------------------------------------------------------------------
xdef _DPrintf
_DPrintf:
movem.l a2-a6,-(sp)
move.l 4,a6
lea PortName(pc),a1 ; FindPort("FarPort")
CALL FindPort
tst.l d0 ; Success?
beq exit
move.l d0,a4 ; Save port address
move.l #MN_SIZE+256,d0 ; Allocate message body
move.l #MEMF_PUBLIC+MEMF_CLEAR,d1
CALL AllocMem
tst.l d0 ; Success
beq exit
move.l d0,a5 ; Save message
move.w #MN_SIZE+256,MN_LENGTH(a5) ; Fill in message data
add.w #MN_SIZE,d0
move.l d0,LN_NAME(a5) ; Fill in the name
move.l d0,a3 ; Set up for sprintf call
move.l Args(sp),a0
lea VarArgs(sp),a1
lea stuffchar(pc),a2
CALL RawDoFmt
move.l a4,a0 ; Get back port
move.l a5,a1 ; Get back message
CALL PutMsg ; And post it...
exit movem.l (sp)+,a2-a6
rts
stuffchar:
move.b d0,(a3)+
rts
PortName:
dc.b 'FarPort',0
end